Persona-based conversational interface personalization using social network preferences

ABSTRACT

The present disclosure involves systems, software, and computer implemented methods for personalizing interactions within a conversational interface based on an input context. One example system performs operations including receiving a conversational input via a conversational interface associated with a particular user profile. The input is analyzed via a natural language processing engine to determine an intent and a personality input type. A persona response type associated with the determined personality input type is identified, and responsive content is determined. A particular persona associated with the particular user profile based on a related set of social network activity information associated with the user profile and that corresponds to the identified persona response type is identified. The responsive content is modified by applying persona-related content associated with the identified particular persona to generate a persona-associated response, and the persona-associated response is transmitted to a device associated with the particular user profile.

TECHNICAL FIELD

The present disclosure relates to computer-implemented methods,software, and systems for personalizing interactions within aconversational interface based on an input context and, in someinstances, social network information associated with a user associatedwith the input.

BACKGROUND

Digital, or virtual, personal assistants such as Apple's Siri, Google'sAssistant, Amazon's Alexa, Microsoft's Cortana, and others providesolutions for performing tasks or services associated with anindividual. Such digital personal assistants can be used to request andperform various data exchanges, including transactions, social mediainteractions, search engine queries, and others. Additionally, similarfunctionality can be incorporated into web browsers and dedicatedapplications. Digital assistants may be one type of conversationalinterface, where users can input a request or statement into theconversational interface and receive semantic output responsive to theoriginal input. Conversational interfaces may be included in socialnetworks, mobile applications, instant messaging platforms, websites,and other locations or applications. Conversational interfaces may bereferred to as or may be represented as chat bots, instant messaging(IM) bots, interactive agents, or any other suitable name orrepresentation.

Conversational interfaces are commonly integrated into dialog systems ofthese digital assistants or into specific applications or platforms, andcan be used to engage in interactions from casual conversations toexpert system analysis. Conversational interfaces may accept inputsand/or output responses in various formats, including textual inputsand/or outputs, auditory inputs and/or outputs, video-captured inputs(e.g., via facial movement input), or video or other animated output.

SUMMARY

The present disclosure involves systems, software, and computerimplemented methods for personalizing interactions within aconversational interface. A first example system includes acommunications module, at least one memory storing instructions and arepository of synonym tokens, and at least one hardware processorinteroperably coupled with the at least one memory and thecommunications module. The repository of synonym tokens can includesynonym tokens for association with one or more received inputs, whereeach of the synonym tokens associated with a corresponding predefinedlexical personality score. The instructions stored in the at least onememory can instruct the at least one hardware processor to performvarious operations. For example, the instructions can cause the at leastone processor to receive, via the communications module, a first signalincluding a conversational input received via interactions with aconversational interface. The received conversational input can beanalyze via a natural language processing engine to determine an intentof the received conversational input and a lexical personality score ofthe received conversational input. The determined intent and thedetermined lexical personality score can be based on characteristicsincluded within the received conversational input. Next, a set ofresponse content responsive to the determined intent of the receivedconversational input can be determined, where the response contentincludes a set of initial tokens representing an initial response to thereceived conversational input. A set of synonym tokens associated withat least some of the set of initial tokens can be identified, and, fromthe identified set of synonym tokens, at least one synonym tokenassociated with a lexical personality score similar to the determinedlexical personality score of the received conversational input can bedetermined. At least one token from the set of initial tokens includedin the determined set of response content can be replaced with the atleast one determined synonym token to generate a modified version of theset of response content. In response to the received first signal andvia the communications module, a second signal including the modifiedversion of the set of response content can be transmitted to a deviceassociated with the received conversational input.

Implementations can optionally include one or more of the followingfeatures.

In some instances, the received conversational input comprises asemantic query, wherein the intent of the conversational input is thesemantic query.

In some instances, the determined lexical personality score of thereceived conversational input comprises at least a first scorerepresenting a relative politeness of the received conversational inputand a second score representing a relative formality of the receivedconversational input.

In some of those instances, the determined lexical personality score ofthe received conversational input can comprise a third scorerepresenting an identification of at least one regional phrase includedwithin the received conversational input.

The received conversational input can, in some instances, comprisetextual input received via the conversational interface.

In some instances, the received conversational input comprises audioinput comprising a verbal statement received via the conversationalinterface. In some of those instances, the determined lexicalpersonality score of the received conversational input can comprise athird score representing a determined accent of a speaker associatedwith the verbal statement. In those instances, determining the at leastone synonym token associated with the lexical personality score similarto the determined lexical personality score of the receivedconversational input can includes determining at least one synonym tokenassociated with the determined accent.

In some instances where the input comprises audio input, the determinedlexical personality score of the received conversational input cancomprise a third score representing a verbal tone of a speakerassociated with the verbal statement. In those instances, determiningthe at least one synonym token associated with the lexical personalityscore similar to the determined lexical personality score of thereceived conversational input can include determining at least onesynonym token associated with the determined verbal tone of the speaker.

In some instances, each token in the set of initial tokens representingthe initial response to the received conversational input can comprise aparticular phrase within a responsive sentence represented by the set ofresponse content. Each of the identified set of synonym tokens can thencomprise a phrase having a similar meaning to at least one of theparticular phrases in the responsive sentence.

In some instances, the modified version of the set of response contentcorresponds to at least a formality and politeness level of the receivedconversational input.

A second example system includes a communications module, at least onememory, and at least one hardware processor interoperably coupled withthe at least one memory and the communications module. The at least onememory can store instructions, a plurality of user profiles, and arepository of persona-related contextual content associated with aplurality of personas, where the persona-related contextual content foruse in personalizing at least one response generated in response to aconversational contextual input. The instructions can instruct the atleast one hardware processor to receive, via the communications module,a first signal including a conversational input received viainteractions with a conversational interface. The conversational inputis associated with a particular user profile, which is itself associatedwith a set of social network activity information. The receivedconversational input is analyzed via a natural language processingengine to determine an intent of the received conversational input andto determine a personality input type of the received conversationalinput. A persona response type associated with the determinedpersonality input type is identified, and a set of response contentresponsive to the determined intent of the received conversational inputis determined. A particular persona associated with the particular userprofile is identified based on the set of social network activityinformation and corresponding to the identified persona response type isidentified, where the particular persona is associated with a set ofpersona-related content. The set of response content is then modifiedusing at least a portion of the persona-related content to generate apersona-associated response. A second signal is then transmitted via thecommunications module to a device associated with the particular userprofile, the second signal including the persona-associated response forpresentation in response to the received conversational input.

Implementations can optionally include one or more of the followingfeatures.

In some instances, the determined personality input type is one of aplurality of predefined personality input types, wherein each predefinedpersonality input type is mapped to a persona response type.

In some instances, identifying a particular persona associated with theparticular user profile is further based on at least one of a currentcontext of the particular user profile, a financial history of theparticular user profile, and a financial analysis associated with theparticular user profile.

In some instances, the determined intent associated with the receivedconversational input is associated with a question, and whereindetermining the set of response content responsive to the determinedintent of the received conversational input comprises determining aresponsive answer to the question. In those instances, the responsiveanswer to the question can be associated with a preferred action to beperformed by the user associated with the particular user profile,wherein identifying the particular persona associated with theparticular user profile based on the associated set of social networkactivity includes identifying the particular persona based on thepreferred action to be performed by the user.

In some instances, the set of social network activity information isstored remotely from the particular user profile, wherein the particularuser profile is associated with at least one social network account, andwherein the set of social network activity is accessed in response tothe conversational input and prior to identifying the particular personaassociated with the particular user profile.

In some instances, the set of social network activity informationidentifies at least one social network account followed by, liked, orsubscribed to by the particular user profile, and identifying theparticular persona associated with the particular user profile cancomprise identifying a particular persona from the plurality of personascorresponding to the at least one social network account followed by,liked, or subscribed to by the particular user profile.

In alternative or additional instances, the set of social networkactivity information identifies at least one social network account withwhich the particular user profile has previously had a positiveinteraction, and identifying the particular persona associated with theparticular user profile can comprise identifying a particular personafrom the plurality of personas corresponding to the at least one socialnetwork account with which the particular user profile has had thepositive interaction.

In some instances, for each of the personas, the persona-relatedcontextual content includes a set of common phrases or words associatedwith the particular persona. Modifying the set of response content usingat least a portion of the persona-related contextual content to generatea persona-associated response for the particular user can includeincorporating at least one common phrase or word associated with theidentified particular persona into the set of response content. In someinstances, incorporating the at least one common phrase or wordassociated with the identified particular persona into the set ofresponse content comprises replacing at a portion of the set of responsecontent with at least one common phrase or word associated with theidentified particular persona.

In some instances, for at least some of the personas, thepersona-related contextual content includes a voice associated with thepersona, and wherein modifying the set of response content using atleast a portion of the persona-related contextual content to generate apersona-associated response for the particular user comprises generatingan audio file for use in presenting the set of response content spokenin the voice associated with the identified particular persona.

Similar operations and processes may be performed in a system comprisingat least one process and a memory communicatively coupled to the atleast one processor where the memory stores instructions that whenexecuted cause the at least one processor to perform the operations.Further, a non-transitory computer-readable medium storing instructionswhich, when executed, cause at least one processor to perform theoperations may also be contemplated. Additionally, similar operationscan be associated with or provided as computer implemented softwareembodied on tangible, non-transitory media that processes and transformsthe respective data, some or all of the aspects may be computerimplemented methods or further included in respective systems or otherdevices for performing this described functionality. The details ofthese and other aspects and embodiments of the present disclosure areset forth in the accompanying drawings and the description below. Otherfeatures, objects, and advantages of the disclosure will be apparentfrom the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an example system forpersonalizing interactions with a conversational interface.

FIGS. 2A-2B is an illustration of a data and control flow of exampleinteractions performed by a system performing personalization operationswith a conversational interface related to an analysis of the lexicalpersonality of an input, where the responsive output is provided with anoutput lexical personality based on the input lexical personality.

FIG. 3 is a flow chart of an example method performed at a systemassociated with a conversational interface to identify a first lexicalpersonality of an input and provide a response to the input applying asecond lexical personality based on the identified first lexicalpersonality.

FIG. 4 is an illustration of a data and control flow of exampleinteractions performed by a system performing persona-basedpersonalization operations for a conversational interface based on ananalysis of the lexical personality of an input and a corresponding userprofile, generating a responsive output associated with the input, andmodifying or transforming the responsive output to a persona-specificresponsive output based on the corresponding user profile associatedwith the received input.

FIG. 5 is a flow chart of an example method performed at a systemassociated with a conversational interface to transform a responsiveoutput into a persona-specific responsive output based on thecorresponding user profile.

DETAILED DESCRIPTION

The present disclosure describes various tools and techniques associatedwith personalizing a responsive output generated by a conversationalinterface based on a personality of the received input to which theoutput is responsive. Conversational interfaces allow users to interactwith a virtual person or system that can interpret an intent associatedwith input provided by the user and determine a suitable response.

When building a conversational interface, the personality is animportant aspect of the design. Generally, building rapport withindividuals is a difficult task, but one that can improve the level ofengagement and responsive action that the conversational interface mayelicit from a user, and can consequently improve the trust that the usermay have with such an interface, as well as with the entity ororganization associated with the interface. A difficulty of currentconversational interfaces is that most are associated with a singlepersonality. In using a single personality for all types of feedback,such conversational interfaces fail to provide a dynamic and believableexperience for users. The present disclosure describes several solutionsfor enhancing responsive content and dynamically adjusting the output ofthe conversational interface to match the lexical personality and/orpreferences of the user. In doing so, the present solution enhances theconversational interface experience by transforming interactions into arealistic and dynamic experience.

In a first solution, and to enhance the interactions with theconversational interface, a method and system for identifying thepersonality of a conversational interface user based on measuredcharacteristics of their conversational pattern is provided. Themeasured characteristics can include, but are not limited to, aparticular formality, politeness, colloquial terminology, sarcasm, andemotional state of received input. Once the characteristics of theuser's input are inferred from the conversational patterns of the user,those characteristics can be used in the natural language generationprocess to identify and apply a corresponding lexical output personalityto be applied to a particular response prior to transmitting theresponse back to the user.

The detection and measuring of the input's characteristics can bequantified through a scoring mechanism to identify particular measuredcomponents of the input. For instance, a formality score and apoliteness score can be quantified by a natural language processingengine associated with the conversational interface. Any suitablescoring and natural language processing techniques can be used toanalyze and determine the measured characteristics, and any suitableindividual characteristics can be measured.

Using any suitable component, engine, or method, an intent associatedwith the input can be determined. Once an intent of the input isdetermined, a set of responsive content can be identified, such as aparticular basic phrase or set of information that is responsive to thereceived input. In traditional conversational interfaces, the initialresponse content would be provided to the user via the conversationalinterface. In this solution, however, the responsive content, may bemapped to one or more synonym words or phrases, where the varioussynonym words or phrases are associated with predetermined scores forone or more measures. In the current example, the initial responsecontent may be associated with a first set of scores for both formalityand politeness. The synonym words or phrases may have different sets ofscores for formality and politeness. Based on the determine scoresassociated with the received input, one or more synonym words or phraseshaving the same meaning as portions, or tokens, of the initial responsecontent can replace those corresponding portions based on the synonymwords or phrases having a relatively similar or matching scores ascompared to the content of the received input. Once at least one synonymis used to replace at least a portion of the initial response content,the modified and personalized response can be output to the user throughthe conversational interface.

In a second solution, the received input and particular informationabout a user are considered to apply persona-specific modifications to aset of responsive content. Well-known celebrities each convey particulardifferent personas that can affect the behavior of a user, including byproviding or generating an additional level of trust for interactions.An example of such a persona could be Chef Gordon Ramsey, who may beassociated with strict instructional feedback that is intended to causea responsive action quickly. Another example of a different type ofpersona may be Oprah Winfrey, whose persona may be used in a moremotherly manner to provide encouragement or kindly words to a user,particularly where a note of worry is present in the received input.

Similar to the first solution, the received input can be analyzed toidentify a particular input personality type. In some instances, theinput personality type can be determined based on a combination ofvarious measurements determined from the analyzed input, includingformality, politeness, regional terms or dialects, and othermeasurements. When the received input is associated with a voice input,other auditory factors can be considered, including a pitch of thevoice, a length of the sounds, a loudness of the voice, a timber of thevoice, as well as any other suitable factors. If the input is associatedwith video input, additional facial recognition features can be used toprovide additional context to the input. In response to thesemeasurements, the conversational interface can identify a particularinput personality type associated with the received input.

The particular input personality type can then be mapped or connected toa persona response type (e.g., intellectual, philosophical, motherly,strong, etc.). Each persona may also be associated with at least onepersona response type, such that a determination that a particularpersona response type should be applied to an output may mean that twoor more personas may be available. The present solution, however, canidentify one or more social network-based actions, preferences, or otherinformation about one or more social network accounts associated withthe user interacting with the conversational interface. Using thissocial network information, the particular user's likes, interactions,and follows, among other relevant social media content and interactions,can be used to determine one or more available celebrities or entitieswith which the user has previously interacted. Based on thisinformation, which can be stored in a user profile associated with theuser or otherwise accessed in response to the conversational interfaceinteraction, a particular persona available within the conversationalinterface and corresponding to the persona response type can beidentified and used to modify the response. Any suitable modificationcan be used to modify and/or enhance the response content, such asincluding and/or substituting one or more common phrases and/or wordsassociated with the persona in place of the initial response content. Insome instances, the output may be presented to the user in the voiceassociated with the particular persona. In other instances, an image orvideo associated with the persona may be included with the responsecontent.

Turning to the illustrated example implementation, FIG. 1 is a blockdiagram illustrating an example system 100 for personalizinginteractions with a conversational interface. System 100 includesfunctionality and structure associated with receiving inputs from aclient device 180 (associated with a user), analyzing the received inputat the conversational analysis system 102 to identify an intent of theinput and information on the personality or internal context of theinput, identifying a response associated with the received input, andidentifying at least one manner in which the identified response can bepersonalized before transmitting the response back to the client device180. Specifically, the illustrated system 100 includes or iscommunicably coupled with a client device 180, a conversational analysissystem 102, one or more social networks 195, one or more external datasources 198, and network 170. System 100 is a single example of apossible implementation, with alternatives, additions, and modificationspossible for performing some or all of the described operations andfunctionality. Although shown separately, in some implementations,functionality of two or more systems, servers, or illustrated componentsmay be provided by a single system or server. In some implementations,the functionality of one illustrated system or server may be provided bymultiple systems, servers, or computing devices, including thosephysically or logically local or remote to each other. Any combinationor permutation of systems may perform the functionality describedherein. In some instances, particular operations and functionalitydescribed herein may be executed at either the client device 180, theconversational analysis system 102, or at one or more othernon-illustrated components, as well as at a combination thereof.

As used in the present disclosure, the term “computer” is intended toencompass any suitable processing device. For example, client device 180and the conversational analysis system 102 may be any computer orprocessing device (or combination of devices) such as, for example, ablade server, general-purpose personal computer (PC), Mac®, workstation,UNIX-based workstation, embedded system or any other suitable device.Moreover, although FIG. 1 illustrates particular components as a singleelement, those components may be implemented using a single system ormore than those illustrated, as well as computers other than servers,including a server pool or variations that include distributedcomputing. In other words, the present disclosure contemplates computersother than general-purpose computers, as well as computers withoutconventional operating systems. Client device 180 may be any systemwhich can request data, execute an application (e.g., client application184), and/or interact with the conversational analysis system 102 andthe conversational interface 108. The client device 180, in someinstances, may be any other suitable device, including a mobile device,such as a smartphone, a tablet computing device, a smartwatch, alaptop/notebook computer, a connected device, or any other suitabledevice. Additionally, the client device 180 may be a desktop orworkstation, server, or any other suitable device. Similarly, theconversational analysis system 102 may be a server, a set of servers, acloud-based application or system, or any other suitable system. In someinstances, the client device 180 may execute on or be associated with asystem executing the conversational analysis system 102. In general,each illustrated component may be adapted to execute any suitableoperating system, including Linux, UNIX, Windows, Mac OS®, Java™,Android™, Windows Phone OS, or iOS™, among others.

The conversational analysis system 102 can perform functionalityassociated with one or more backend conversational interfaces 108, andcan perform operations associated with receiving input from a clientdevice 180 (e.g., via conversational interface 185) associated with thebackend conversational interface 108, and can analyze the received inputto determine an intent of the input (e.g., a particular question, query,comment, or other communication to which a response may be generated forthe conversational interface 108) and a personality associated with theinput. Based on the determined intent, the conversational analysissystem 102 can generate a corresponding response or response content tobe provided back to the client device 180. Using a natural languagegeneration engine 124, the conversational analysis system 102 cangenerate an appropriate initial response. Based on the personalityassociated with the input, the conversational analysis system 102 canidentify or determine at least one personalization to be performed onthe initial response to be provided to the client device 180, whereapplying the at least one personalization causes the initial response tobe transformed into a personalized response transmitted to the clientdevice 180 in response to the received input.

As described, two different types of personalizations are possible withthe described system. In a first solution, the personality of the inputcan be assigned one or more scores associated with various measures ofthe input, such as politeness and formality, among others. Based on thedetermined score, the response content identified by the system 102 canbe modified to include or be associated with similar or relatedcharacteristics as those of the received input. As an example, arelatively informal input but with a relatively high level of politenesscan cause the system to modify at least some of the response contentwith synonyms having matching levels of informality and politeness. Inthis way, the lexical personality of the response matches that of thereceived input.

In the second solution, the intent and personality of the received inputis determined, where the input is associated with a particular userprofile. A set of responsive content associated with the determinedintent of the input is identified, as well as a persona response typethat is based on the personality or state identified from the input. Aset of social network activity information associated with theparticular user profile can be identified, where the social networkactivity information includes persons, entities, and things which theparticular user profile likes, follows, or has interacted with within atleast one of the social networks. Based on that information, aparticular persona that matches or corresponds to the persona responsetype and the social network activity information can be identified froma persona library. The particular persona can be associated with atleast one persona-related content, where that content is used to modifyat least a portion of the set of responsive content. Once thepersona-specific response is generated it can be transmitted back to theclient device 180 responsive to the received input.

As illustrated, the conversational analysis system 102 includes aninterface 104, a processor 106, a backend conversational interface 108,a natural language processing (NLP) engine 110, a response analysisengine 120, a natural language generation (NLG) engine 124, and memory134. Different implementations may include additional or alternativecomponents, with FIG. 1 meant to be an example illustration of onepossible implementation. While illustrated separate from one another, atleast some of these components, in particular the backend conversationalinterface 108, the NLP engine 110, the response analysis engine 120, andthe NLG engine 124 may be combined within a single component or system,or may be implemented separate from one another, including at differentsystems and/or at remote components.

Interface 104 is used by the conversational analysis system 102 forcommunicating with other systems in a distributed environment—includingwithin the environment 100—connected to the conversational analysissystem 102 and/or network 170, e.g., client device 180, social network195, and/or any other external data sources 198, as well as othersystems or components communicably coupled to the network 170.Generally, the interface 104 comprises logic encoded in software and/orhardware in a suitable combination and operable to communicate with thenetwork 170 and other communicably coupled components. Morespecifically, the interface 104 may comprise software supporting one ormore communication protocols associated with communications such thatthe conversational analysis system 102, network 170, and/or interface'shardware is operable to communicate physical signals within and outsideof the illustrated environment 100.

Network 170 facilitates wireless or wireline communications between thecomponents of the environment 100 (e.g., between combinations of theconversational analysis system 102, client device(s) 180, and/or theother components, among others) as well as with any other local orremote computer, such as additional mobile devices, clients, servers,remotely executed or located portions of a particular component, orother devices communicably coupled to network 170, including those notillustrated in FIG. 1. In the illustrated environment, the network 170is depicted as a single network, but may be comprised of more than onenetwork without departing from the scope of this disclosure, so long asat least a portion of the network 170 may facilitate communicationsbetween senders and recipients. In some instances, one or more of theillustrated components (e.g., the conversational analysis system 102) orportions thereof (e.g., the NLP engine 110, the response analysis engine120, the NLG engine 124, or other portions) may be included withinnetwork 170 as one or more cloud-based services or operations. Thenetwork 170 may be all or a portion of an enterprise or secured network,while in another instance, at least a portion of the network 170 mayrepresent a connection to the Internet. In some instances, a portion ofthe network 170 may be a virtual private network (VPN) or an Intranet.Further, all or a portion of the network 170 can comprise either awireline or wireless link. Example wireless links may include802.11a/b/g/n/ac, 802.20, WiMax, LTE, and/or any other appropriatewireless link. In other words, the network 170 encompasses any internalor external network, networks, sub-network, or combination thereofoperable to facilitate communications between various computingcomponents inside and outside the illustrated environment 100. Thenetwork 170 may communicate, for example, Internet Protocol (IP)packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells,voice, video, data, and other suitable information between networkaddresses. The network 170 may also include one or more local areanetworks (LANs), radio access networks (RANs), metropolitan areanetworks (MANs), wide area networks (WANs), all or a portion of theInternet, and/or any other communication system or systems at one ormore locations.

The conversational analysis system 102 also includes one or moreprocessors 106. Although illustrated as a single processor 106 in FIG.1, multiple processors may be used according to particular needs,desires, or particular implementations of the environment 100. Eachprocessor 106 may be a central processing unit (CPU), an applicationspecific integrated circuit (ASIC), a field-programmable gate array(FPGA), or another suitable component. Generally, the processor 106executes instructions and manipulates data to perform the operations ofthe conversational analysis system 102, in particular those related toexecuting the various modules illustrated therein and their relatedfunctionality. Specifically, the processor 106 executes the algorithmsand operations described in the illustrated figures, as well as thevarious software modules and functionalities, including thefunctionality for sending communications to and receiving transmissionsfrom the client device 180 and the social network(s) 195, as well as toprocess and prepare responses to received input associated with theconversational interface 108. Each processor 106 may have a single coreor multiple cores, with each core available to host and execute anindividual processing thread.

Regardless of the particular implementation, “software” includescomputer-readable instructions, firmware, wired and/or programmedhardware, or any combination thereof on a tangible medium (transitory ornon-transitory, as appropriate) operable when executed to perform atleast the processes and operations described herein. In fact, eachsoftware component may be fully or partially written or described in anyappropriate computer language including C, C++, Objective-C, JavaScript,Java™, Visual Basic, assembler, Perl®, Swift, HTML5, any suitableversion of 4GL, as well as others.

As illustrated, the conversational analysis system 102 includes, isassociated with, and/or executes the backend conversational interface108. The backend conversational interface 108 may be a program, module,component, agent, or any other software component which manages andconducts conversations and interactions via auditory or textual methods,and which may be used to simulate how a human would behave as aconversational partner. In some instances, the backend conversationalinterface 108 may be executed remotely from the conversational analysissystem 102, where the analysis system 102 performs operations associatedwith determining and modifying the personality of certain inputs andresponses, but where the conversational interface 108 determines theintent of the response and/or the responses to be provided. The backendconversational interface 108 may be accessed via a website, a webservice interaction, a particular application (e.g., client application184), or it may be a backend portion of a digital or virtual assistantapplication or functionality of a particular operating system, such asApple's Siri, Google's Assistant, Amazon's Alexa, Microsoft's Cortana,or others. In some instances, a remote agent or client-side portion ofthe conversational interface 185 may execute at the client device 180,where inputs can be provided and responses presented to the user of theclient device 180, while some or all of the processing is performed atthe conversational analysis system 102 and the backend conversationalinterface 108.

The NLP engine 110 represents any suitable natural language processingengine, and performs operations related to understanding a set ofreceived input received at the backend conversational interface 108.Examples of NLP engines that could be used or implemented include aplurality of web services and backend applications, including IBM'sWatson, Google Cloud Natural Language API, Amazon Lex, MicrosoftCognitive Services, as well as any proprietary solution, application, orservice. The processing performed by the NLP engine 110 can includeidentifying an intent associated with the input received via theconversational interface 108, which is performed by the intentdeciphering module 112. The result of the intent determination can be aset of lexical semantics of the received input, which can then beprovided to the response analysis engine 120, where at least an initialset of response content can be generated.

As illustrated, the NLP engine 110 further includes a personalitydeciphering module 114, where the personality deciphering module 114 canperform one or more operations to identify a particular personality ofthe received input. Any suitable algorithms can be used to determine thepersonality of the input. In some instances, scores for multiplemeasures of the input can be generated, including scores related to aformality of the input, a politeness of the input, usage of particularregional phrases, an accent or particular phrasing associated with theinput, a level of sarcasm within the input, an emotional stateassociated with the input, as well as any other suitable measures orvalues. The personality deciphering module 114 may use, in particular, alexical personality scoring engine 118 to generate the scores based onone or more rule sets and analysis factors. In some instances, ananalysis engine 116 may be used to analyze the type of input received.The analysis engine 116 may be able to analyze and assist in theevaluation and scoring of textual input, auditory input, video or stillimage input (e.g., associated with a facial analysis or with a read ofthe eyes). For example, textual input may be analyzed to identify ascore or evaluation of a textual tone or syntax, the politeness andformality of the syntax, a level of sarcasm, and particular vocabularyused. An auditory input, which can include the voice of a userassociated with the received input, can be analyzed to further obtaininformation on a pitch of the voice, a length of sounds, a loudness ofthe voice, a timber of the voice, any shakiness or quavering of thevoice, as well as other measures. If a video or image of the userassociated with the input is available, such as from a camera associatedwith the client device 180, facial analysis techniques and bodylanguage-related analyses can be used to determine particular stress,upsetness, and other emotionally-related measures. Based on theseanalyses, one or more scores or evaluations associated with thepersonality of the input can be obtained or generated.

In some instances, based on a combination of the scores, a personalityinput type can be identified or determined. The personality input typescan be associated with predetermined values or ranges of values fordifferent measure combinations. Example personality input types mayinclude “scared,” “calm, inquisitive,” “calm, instructional,” “angry,”and “angry, unsure,” among others. In some instances, the lexicalpersonality scoring engine 118 can, in addition to analyzing anddetermining scores or evaluations of the different available measures,can identify and assign a particular personality input type to thecurrent received input. In some instances, the lexical personalityscoring engine 118, or another component, can also map or identify aparticular persona response type to the personality input type, wherethe persona response types identify a type of persona to be associatedwith and to be used in modifying a set of response content as describedherein. The persona response types can include any suitable categories,including, for example, “intellectual,” “philosophical,” “motherly,” and“strong,” among others. In some instances, the persona response type mayalso be determined, at least in part, on a particular action that theconversational interface 108 and the response analysis engine 120determine that the user should be recommended into performing. Forexample, in a financial-related conversational interface 108, a questionabout a particular transaction for a user may be determined as theintent of the received input. In response to processing the response inlight of a particular user's accounts or financial situation, adetermination may be made by the response analysis engine 120 toencourage the user not to continue with the transaction. In thoseinstances, the particular persona response type used to enhance theresponse may be a harsher or stricter persona response type. Forinstance, instead of choosing a motherly persona response type, astricter or stronger persona response type can be used to emphasize arecommendation not to complete the transaction.

As mentioned, the determined intent of the received input can beprovided to a response analysis engine 120, where the response analysisengine 120 determines a particular ideal response or response sentimentthat should be used as a basis for the response. In some instances,where the determined intent of the received input is a question, theresponse analysis engine 120 may be used to derive a responsive answerto the question. The answer may be a particular value or query response,and can be provided to the NLG engine 124 for further processing andgeneration of a sentence or other detailed response to be provided viathe conversational interface 108. The response analysis engine 120 maybe any suitable component or system capable of generating a response tothe determined intent of the received intent. In some instances, theresponse analysis engine 120 may be associated with a search engine, anexpert system, a knowledge base, or any other suitable backend componentable to respond to the input.

In some instances, the response analysis engine 120 can include a userprofile analysis engine 122, where additional information about aparticular user profile associated with the received input can beobtained. The user profile analysis engine 122 can be used to provide auser-specific response, and can use information associated with aparticular user profile within a plurality of user profiles 158. In someinstances, the user profile 158 can identify a set of preferences 160previously defined by the user or determined based on previousinteractions and other user operations. As illustrated, social networkdata 162 may be included or associated with the user profile 158. Insome instances, the social network data 162 may identify particularsocial network profiles and/or login credentials associated with one ormore social networks 195. The user profile analysis engine 122 can usethat information to access a particular social network 195 (e.g.,Facebook, Twitter, Reddit, Instagram, etc.) and obtain information aboutparticular social network activities of the user, including particularpersons, entities, and other accounts with which the user follows,likes, or otherwise has interacted with as defined by a social networkuser profile 196, where that information identifies particular publicpersonalities or entities with which later persona-based content andenhancements can be used. In some instances, at least some of theinformation may be available within the social network data 162 withoutrequiring the user profile analysis engine 122 or another component toaccess the social networks 195 at the time of the interaction with theconversational interface 108, instead accessing the relevant socialnetwork data. Further, the user profile 158 may store financial data 164associated with the user profile 158, including transaction histories,current account information, and other similar data. In some instances,information to access such information may be stored in the financialdata 164, and the user profile analysis engine 122 can use that data toaccess the accounts or other relevant data in real-time during theinteractions with the interface 108. In some instances, locationinformation associated with the user may be included in the user profile158, or may be accessible via the client device 180 or other means. Thelocation information can be used to personalize responses, and toinclude that information as part of the response analysis.

The NLG engine 124 can receive the output of the response analysisengine 120 and prepare a natural language response to the received inputbased on that output. The NLG engine 124 can be any suitable NLG enginecapable of generating natural language responses from the output of theresponse analysis engine 120. In some instances, the NLG engine 124 canidentify or otherwise determine at least a base set of words, phrases,or other combinations or tokens to be used in representing the responsecontent received from the response analysis engine 120. The base set ofwords, phrases, or tokens are associated with an initial responsedetermined by the response analysis engine 120, and may be an initialrepresentation of the natural language result. The syntax and semanticgeneration module 126 can perform these operations, and can makedecisions on how to place the concept of the response received from theresponse analysis system 120 into a natural language set of words,phrases, or combination of tokens.

Once the initial set of response content is available, the lexicalpersonality filter module 128 can be used to determine and apply theappropriate modifications to the response content to be used to generatea personalized response. As noted, the personalized response can begenerated by identifying one or more synonyms (e.g., from the synonymrepository 136) of the base words, phrases, or combinations of tokensincluded in the initial response and replacing one or more of those baseportions with synonyms having a matching or similar set ofcharacteristics as those determined to be associated with received inputusing a personality-based response module 130. The personality-basedresponse module 130 can use a synonym repository 136 to identify entriesassociated with particular base words (or tokens) 138. Each of the basewords 138 may be associated with a plurality of synonyms 140, where eachsynonym 140 is associated with a set of one or more predefined lexicalpersonality scores 142. Those scores 142 can be compared to the scoresassociated with the received input as determined in the lexicalpersonality scoring engine 118, and one or more of the synonyms 140identified as appropriate for substitution based on their match. Thelexical personality filter module 128 can then modify the initialresponse content by replacing the base words 138 with the at least oneidentified synonyms 140.

The lexical personality filter module 128 can also include and use apersona module 132 to apply a particular persona to a set of responsecontent. The persona module 132 can access a persona library 144 storingone or more persona entities 146. The persona entities 146 can beassociated with celebrities and other well-known persons, where eachentity 146 is associated with one or more persona response types 148.The persona response types 148 can be matched or associated with thepersona response type determined by the personality deciphering module114 to identify which persona entities 146 to associate with aparticular response. Importantly, the described process can use thesocial network data 162 associated with a particular user profile 158 todetermine a subset of persona entities 146 to consider for applicationto a particular response based on those likes, follows, or otherinteractions performed by the user. From that subset of persona entities146, one or more persona entities 146 that match the persona responsetype can be identified, and a best or preferred persona can bedetermined.

Each persona entity 146 can be associated with a set of persona phrasesand words 150 and/or a set of persona-related content 154. The set ofpersona phrases and words 150 may be well-known phrases or language usedby the celebrity or other person in the real world, such that thosephrases or language can be used in responses. In some instances, thosephrases and words 150 can be associated with one or more synonyms orbase words 152, where the base words 152 can be used to identifyrelevant phrases and words 150 to be used. Modifying the initial set ofresponse content can include replacing one or more base words or tokenswith those well-known words or phrases. Alternatively, the modificationcan include supplementing or adding some of those well-known words orphrases alongside the initial response content, sometimes withoutsubstituting any of the initial phrases. In some instances, the personaphrases and words 150 may be associated with one or more lexicalpersonality scores, such that those persona phrases and words 150 thatcorrespond to the input personality score can be used, combining the twosolutions.

The set of persona-related content 154 can include additional non-phraseor word content that can be used to personalize a response orconversational interface 108 with the identified persona. In someinstances, such content 154 can include images, video, or other mediaassociated with the persona entity 146, where that content 154 can bepresented along with a generated response. As illustrated, the content154 may include audio content 156 in the voice of the person associatedwith the persona entity 146, such that at least a portion of theresponse transmitted to the client device 180 can be provided in thesame voice of the persona. Other unique or defining aspects of theparticular persona can be included in the persona-related content 154and used to embellish or personalize the response.

As illustrated, the conversational analysis system 102 includes memory134. In some implementations, the conversational analysis system 102includes a single memory or multiple memories. The memory 134 mayinclude any type of memory or database module and may take the form ofvolatile and/or non-volatile memory including, without limitation,magnetic media, optical media, random access memory (RAM), read-onlymemory (ROM), removable media, or any other suitable local or remotememory component. The memory 134 may store various objects or data,including caches, classes, frameworks, applications, backup data,business objects, jobs, web pages, web page templates, database tables,database queries, repositories storing business and/or dynamicinformation, and any other appropriate information including anyparameters, variables, algorithms, instructions, rules, constraints, orreferences thereto associated with the purposes of the conversationalanalysis system 102. Additionally, the memory 134 may store any otherappropriate data, such as VPN applications, firmware logs and policies,firewall policies, a security or access log, print or other reportingfiles, as well as others. As illustrated, memory 134 includes, forexample, the synonym repository 136, the persona library 144, and theuser profiles 158, described herein. Memory 134 may be local to orremote to the conversational analysis system 102, and may be availableremotely via network 170 or an alternative connection in such instanceswhere not locally available. Further, some or all of the data includedin memory 134 in FIG. 1 may be located outside of the conversationalanalysis system 102, including within network 170 as cloud-based storageand data.

Illustrated system 100 includes at least one client device 180, and mayinclude a plurality of client devices 180 in some instances. Each clientdevice 180 may generally be any computing device operable to connect toor communicate within the system 100 via the network 170 using awireline or wireless connection. In general, the client device 180comprises an electronic computer device operable to receive, transmit,process, and store any appropriate data associated with the system 100of FIG. 1. As illustrated, the client device 180 can include one or moreclient applications, including the client application 184 and a digitalassistant 186. In some instances, the digital assistant 186 may be apart of the operating system executing on the client device 180, or maybe a standalone application or client-side agent of a backendapplication. In some instances, the client device 180 may comprise adevice that includes one or more input devices 187, such as a keypad,touch screen, camera, or other device(s) that can interact with theclient application 184 and/or digital assistant 186 and otherfunctionality, and one or more output devices 188 that conveyinformation associated with the operation of the applications and theirapplication windows to the user of the client device 180. The outputdevices 188 can include a display, speakers, or any other suitableoutput component. The information presented by the output devices 188can include digital data, visual information, auditory output, or agraphical user interface (GUI) 183, as shown with respect to the clientdevice 180. In general, client device 180 comprises an electroniccomputer device operable to receive, transmit, process, and store anyappropriate data associated with the environment 100 of FIG. 1.

Client application 184 can be any type of application that allows theclient device 180 to request and view content on the client device 180.In some instances, client application 184 may correspond with one ormore backend applications or functionality, including an application orplatform associated with the conversational analysis system 102. In someinstances, the client application 184 can be associated with aclient-side version of the conversational interface 185, where theclient-side version of the conversational interface 185 can represent ameans for users to provide inputs to the conversational interface 108and receive the personalized output of the same for viewing at theclient device 180.

In many instances, the client device 180 may be a mobile device,including but not limited to, a smartphone, a tablet computing device, alaptop/notebook computer, a smartwatch, or any other suitable devicecapable of interacting with the conversational analysis system 102 andthe conversational interface 108. One or more additional clientapplications 184 may be present on a client device 180, and can providevarying functionality for users. In some instances, client application184 may be a web browser, mobile application, cloud-based application,or dedicated remote application or software capable of interacting withat least some of the illustrated systems via network 170 to requestinformation from and/or respond to one or more of those systems.

The digital assistant 186 may be any interactive artificial or virtualintelligence component, agent, or other functionality that can beinteracted with by a user, either textually or verbally through one ormore input components 187 (e.g., a microphone), manually through one ormore input components 187 (e.g., physical or virtual keyboards, touchscreen buttons or controls, other physical or virtual buttons, etc.), orthrough captured gestures or movements identified by the client device180. In general, the digital assistant 186 may be a software agent,module, or component, among others, that can perform tasks or servicesfor an individual in response to one or more inputs, and can include orrepresent a particular conversational interface associated with thebackend conversational interface 108. As indicated, any one of numerouscommercial examples may be used, as well as other proprietary orapplication-specific assistants. The digital assistant 186 may work andinteract via text (e.g., chat), voice, image submission, or othersuitable inputs. Some virtual assistants can interpret input usingnatural language processing (NLP) to match user text or voice input toexecutable commands. In some instances, the digital assistant 186 can beinteracted with to initiate and perform one or more input and responseinteractions described herein. In some instances, the digital assistant186 may be a standalone application (e.g., Google Assistant executing onan iPhone), functionality included in a particular application used forother purposes (e.g., an Alexa-enabled Amazon app), or an agent or otherfunctionality built into the operating system (e.g., Siri on Apple'siOS).

As illustrated, the client device 180 may also include an interface 181for communication (similar to or different from interface 104), aprocessor 182 (similar to or different from processor 106), memory 189(similar to or different from memory 134), and GUI 183. GUI 183 caninterface with at least a portion of the environment 100 for anysuitable purpose, including generating a visual representation of theclient application 184 and/or the digital assistant 186, presenting apop-up or push notification or preview thereof, presenting the UIassociated with the conversational interface 185, or any other suitablepresentation of information. GUI 183 may also be used to view andinteract with various Web pages, applications, and Web services locatedlocal or external to the client device 180, as well as informationrelevant to the client application 184. Generally, the GUI 183 providesthe user with an efficient and user-friendly presentation of dataprovided by or communicated within the system. The GUI 183 may comprisea plurality of customizable frames or views having interactive fields,pull-down lists, and buttons operated by the user. For example, the GUI183 may provide interactive elements that allow a user to view orinteract with information related to the operations of processesassociated with the conversational analysis system 102 and anyassociated systems, among others. In general, the GUI 183 is oftenconfigurable, supports a combination of tables and graphs (bar, line,pie, status dials, etc.), and is able to build real-time portals,application windows, and presentations. Therefore, the GUI 183contemplates any suitable graphical user interface, such as acombination of a generic web browser, a web-enabled application,intelligent engine, and command line interface (CLI) that processesinformation in the platform and efficiently presents the results to theuser visually.

The external data sources 198 illustrated in FIG. 1 may be any otherdata source that provides additional information to the conversationalanalysis system 102. The information may be used by the responseanalysis engine 120 to determine a particular response to the receivedinput, or the information may be used to personalize the response asdescribed herein. Any number of data sources 198 may be used inalternative implementations.

While portions of the elements illustrated in FIG. 1 are shown asindividual modules that implement the various features and functionalitythrough various objects, methods, or other processes, the software mayinstead include a number of sub-modules, third-party services,components, libraries, and such, as appropriate. Conversely, thefeatures and functionality of various components can be combined intosingle components as appropriate.

FIGS. 2A and 2B combine to represent an illustration of a data andcontrol flow of example components and interactions 200 performed by asystem performing personalization operations with a conversationalinterface related to an analysis of the lexical personality of an input,where the responsive output is provided with an output lexicalpersonality based on the input lexical personality. The diagram providesan example set of operations and interactions to identify thepersonality with the received input and to prepare and provide apersonalized response with the same or similar personality. Illustratedin FIG. 2A-2B are a user 201 interacting with a conversational interface(or client device at which a user is interacting with the conversationalinterface), an NLP engine 208 (including an intent deciphering module210 and a personality deciphering module 215), a response analysisengine 225, and an NLG engine 228. These components may be similar to ordifferent the components described in FIG. 1.

As illustrated, the user 201 provides a conversational or user input 205to the NLP engine 208. The NLP engine 208 determines both an intent ofthe conversational input 205 (using the intent deciphering module 210)and a determination of a lexical personality score or rating associatedwith the content of the conversational input 205 (using the personalitydeciphering module 215). In some instances, the determination of theintent and the determination of the lexical personality score may beseparate activities or actions. In other instances, however, thedetermined intent may impact or otherwise affect the determination ofthe lexical personality score, while the lexical personality score mayalso impact a determination of intent. The intent can represent thequestion, query, or information associated with the conversational input205, and can be determined using any suitable method. In some instances,a natural language understanding (NLU) engine may be used to understandthe intent, which is what the conversational input 205 wants, is askingabout, or otherwise relates to. The intent of the conversational input205 is then used to determine a suitable response.

The personality deciphering module 215 can evaluate the particularconversational input 205 using one or more measures, where each measureis graded on a suitable scale. As illustrated in input table 220(expanding in FIG. 2B), example measures can include a level offormality and a level of politeness associated with the conversationalinput 205. The personality deciphering module 215 can generate scoresassociated with the analysis. As illustrated, the input table 220 showsa plurality of potential conversational inputs of differing levels offormality and politeness. In this example, the conversational input 205can be represented by sentence 221, which recites “My bad, I can't findit, please help me out and I'll owe you one.” Based on analysis of thevocabulary and syntax used within the sentence, a formality score of 0.1(on a scale from 0 to 1) and a politeness score of 0.95 (on a scale of 0to 1) are generated. Input table 220 illustrates formality andpoliteness scores associated with other sentences having the sameintent, and shows how various inputs can be scored. Based on the scoringanalysis, the determined lexical personality score(s) are associatedwith the conversational input 205.

The NLP engine 208 provides its outputs of the determined intent and thelexical personality score(s) to the response analysis engine 225. Theengine 225 uses this information to determine a suitable response to theconversational input 205 based on the intent. In some instances, thelexical personality score(s) may be provided to the lexical personalityfilter module 240 for later use, as the engine 225 may or may not use orapply the score(s) to determine the suitable response.

Once the essence or general substance of the response is determined, theresponse analysis engine 225 provides that information to the NLG engine228, where the NLG engine 228 is used to prepare the conversationalresponse based on the response essence or content identified by theresponse analysis engine 225. As illustrated, the NLG engine 228includes a syntax and semantic generation module 230 and the lexicalpersonality filter module 240. The syntax and semantic generation module230 can be used to generate at least a base set of tokens (236 asillustrated in FIG. 2B) as an initial natural language response to theconversational input 205. The tokens may each represent a single word orphrase associated with an initial response. For example, several tokensmay be generated in response to the example input above, and mayindicate that based on the determined intent, the set of tokens mayinclude “I will” “help” “you find it, [Sir or Miss].”

Once the initial response is determined, the lexical personality filtermodule 240 can be used to determine at least one personalization to bemade to the initial response tokens based on the prior determination ofthe lexical personality scores. The lexical personality filter module240, for instance, can identify a set of synonyms for at least some ofthe tokens included in the base words 236. In some instances, synonymsmay be identified for particular tokens, while in other instances,synonyms may be identified for the entire sentence or response. Asillustrated in synonym table 235, each, or at least some, of the basetoken or word can be associated with one or more synonyms or synonymtokens. Each synonym or synonym token may be associated with acorresponding lexical personality score. As illustrated in synonym table235, a similar scoring methodology can be used for the synonyms as theconversational input 205 in the input table 220. Based on the determinedscores for the conversational input 205, one or more synonym tokens canbe identified as having similar lexical personality scores. In theillustrated example, the second set of synonyms 237 are associated witha formality score of 0.1 and a politeness score of 0.9, relativelysimilar to the scores of the conversational input 205 determined at theNLP engine 208 (i.e., 0.1 for formality and 0.95 for politeness).Therefore, that set of synonyms 237 can be identified as the appropriatemodification for a personalized response. In some instances, eachindividual synonym token may be associated with lexical personalityscores, such that the identification of synonyms is done on a base tokenby base token basis. In some instances, such as where several synonymtokens are associated with similar lexical personality scores, two ormore synonym tokens associated with different scores may be used inpersonalizing a particular response. For example, if the politenessscore of the conversational input 205 was 0.8, some of the synonyms inthe second set of synonyms 237 may be used as well as some of thesynonyms in the third set of synonyms 238.

Once the suitable synonyms matching the personality of theconversational input 205 are identified, the NLG engine 228 can replaceat least one token from the initial token set with the at least onesuitable synonym. In some instances, only one of the initial tokens maybe replaced or substituted with a synonym token, while in othersmultiple tokens or the entire set of tokens may be replaced. Themodified response represents a conversational response 245 from the NLGengine 228, which can then be transmitted back to the user 201 (or theclient device associated with user 201).

FIG. 3 is a flow chart of an example method 300 performed at a systemassociated with a conversational interface to identify a first lexicalpersonality of an input and provide a response to the input by applyinga second lexical personality based on the identified first lexicalpersonality. It will be understood that method 300 and related methodsmay be performed, for example, by any suitable system, environment,software, and hardware, or a combination of systems, environments,software, and hardware, as appropriate. For example, a system comprisinga communications module, at least one memory storing instructions andother required data, and at least one hardware processor interoperablycoupled to the at least one memory and the communications module can beused to execute method 300. In some implementations, the method 300 andrelated methods are executed by one or more components of the system 100described above with respect to FIG. 1, or the components described inFIG. 2A-2B.

At 305, a first signal including a conversational input associated withinteractions with a conversational interface are received via acommunications module. In some instances, the first signal can includeonly the content of the conversational input, while in other instancesthe first signal may also include an identification of a particular useror user profile associated with the conversational input. In someinstances, the conversational input may be received at a specificendpoint associated with a particular conversational interface orrelated application, such that the analysis of the conversational inputis based on the use of the particular conversational interface orrelated application. Examples may include a digital assistant or aparticular website, where the conversational input is to be responded tobased on the information obtainable by or related to that particularinterface or application.

In some instances, the conversational input may be or may includetext-based input, auditory input (e.g., an audio file), and/or video orimage input. The conversational input can be submitted by a user oragent associated with a particular user profile, although for purposesof some implementations of method 300, identification of the particularuser profile is not needed to perform the personalization process. Insome instances, the received conversational input can represent aparticular query, question, or interactive communication.

At 310, the received conversational input is analyzed via a naturallanguage processing engine or service to determine an intent associatedwith the input and a lexical personality score based on the content ofthe received input. The intent associated with the input can bedetermined based on any suitable factor, and can be used to determine ameaning of a particular request associated with the conversationalinput. The intent may be used to determine a particular response to begenerated. The lexical personality score can be used to identify apersonality of the conversational input, and to modify the correspondingconversational response in a personalized manner such that the lexicalpersonality of the response corresponds to the lexical personality ofthe conversational input. Determining the lexical personality score canbe based on any suitable analysis techniques, and can result in scoresbeing applied to the conversational input based on one or more measuresor factors. In one example, scores may be defined for formality andpoliteness for a particular input. Scores may also be determined forsarcasm detected in the input, particular predefined words such as cursewords, words associated with particular moods (e.g., “angry”, “mad”),particular regional words or phrases, as well as other scores. Where theconversational input is a spoken or verbal input, the voice of thespeaker can also be analyzed to identify a particular accent, a mooddetectable from the speech patterns, and other audible-related aspects.Scores for some or all of these measures may be associated with theconversational input.

At 315, a determination is made as to a set of response contentresponsive to the determined intent of the received conversationalinput. In some instances, the set of response content can include a setof initial tokens to be used in an initial or proposed response. In someinstances, the set of initial tokens can represent an initial sentenceor phrase responsive to the conversational input, where the initialsentence or phrase is associated with a default lexical personality(e.g., where formality and politeness are scored at 1 on a 0 to 1 valuerange).

Once the initial tokens are identified, at 320 a set of synonym tokensassociated with at least some of the set of initial tokens can beidentified. In some instances, a synonym repository may be accessed toidentify synonyms associated with at least some of the initial tokens.The synonym tokens, which may represent single words or phrasescorresponding to the initial token to which they are related, can beassociated with at least one predetermined lexical personality score. Insome instances, the predetermined lexical personality scores may beassociated with measures that are evaluated and determined at 310. Inother instances, at least some of the predetermined lexical personalityscores may differ from the measures evaluated at 310.

At 325, at least one synonym token from the identified set of synonymtokens can be determined to be associated with a lexical personalityscore similar to the determined lexical personality score of thereceived conversational interface. In some instances, the scores mayexactly match, while in others, the scores may be within a particularthreshold or range near or within the other scores. Any suitablealgorithm or comparison operation can be used to determine which synonymtokens are close enough to a match to the lexical personality scores ofthe initial tokens.

At 330, at least one token from the set of initial tokens can bereplaced with at least one determined synonym token (at 325). Byreplacing the initial token with the synonym token, a personalizedversion of the set of response content is generated, such that apersonalized conversational response can be provided back to the user.

At 335, a second signal including the personalized version of the set ofresponse content is transmitted, via the communications module, to theconversational interface associated with the received first signal. Insome instances, the personalized response may be modified to match orclosely align with the lexical personality score of the conversationalinput initially received. In other instances, the lexical personality ofthe personalized response may differ from the lexical personality scoreof the received conversational input in a way that complements orotherwise corresponds to the personality of the received input.

FIG. 4 is an illustration of a data and control flow of exampleinteractions 400 performed by a system performing persona-basedpersonalization operations for a conversational interface based on ananalysis of the lexical personality of an input and a corresponding userprofile, generating a responsive output associated with the input, andmodifying or transforming the responsive output to a persona-specificresponsive output based on the corresponding user profile associatedwith the received input. Illustrated in FIG. 4 are a user 401interacting with a conversational interface (or client device at which auser is interacting with the conversational interface), an NLP engine408 (including an intent deciphering module 410 and a personalitydeciphering module 415), a response analysis engine 425, and an NLGengine 428. These components may be similar to or different from thecomponents described in FIG. 1, as well as those illustrated in FIG.2A-2B.

As illustrated, the user 401 provides a conversational or user input 405to the NLP engine 408. As previously described, the NLP engine 408 candetermine an intent of the conversational input 405 (e.g., using theintent deciphering module 410). In this solution, the NLP engine 408 canalso identify one or more lexical personality scores or ratingsassociated with the content of the conversational input 405 (using thepersonality deciphering module 415). Alternatively, or based on thosescores, each received conversational input 405 can be evaluated todetermine a particular personality input type. The personality inputtype can describe a mood, tone, or other aspect of the conversationalinput and the user 401. In some instances, a combination of the lexicalpersonality scores can be used to identify the personality input type,while in others, the personality input type may be determined directlywithout the scores. In combination with the personality input type, acorresponding persona response type can be identified. As illustrated inthe personality input type and persona response type table 420, tablesof lexical score combinations can be considered by the personalitydeciphering module 415 to determine the personality input type and thecorresponding persona response type. In some instances, the personaresponse type may be mapped to one or more different personality inputtypes, which in some instances can be stored separate from thepersonality input type table 420 and the corresponding lexicalpersonality scores. In the illustrated example, lexical personalityscores are determined for a politeness level, a pitch of a voice, alength of the sounds used in the input, a loudness of the voice, and atimber of the voice used in the conversational input 405. Differentscores, or a combination of different scores, can result in theassociation of the conversational input with different personality inputtypes. The illustrated rows of the table 420 can represent only aportion of the possible score combinations and personality input types.In the illustrated example, a determination is made that theconversational input 405 corresponds to a “Scared” input personalitytype, such that a “Motherly” persona response type should be used, ifavailable, to personalize the conversational response.

The NLP engine 408 provides its outputs of the determined intent and thelexical personality score(s) and persona response type determination tothe response analysis engine 425. The response analysis engine 425 usesthis information to determine a suitable response to the conversationalinput 405 based on the intent. In some instances, the lexicalpersonality score(s) and the persona response type determination may beprovided to the lexical personality filter module 435 for later use, asthe response analysis engine 425 may or may not use or apply thescore(s) and persona response type determination to determine thesuitable response.

As illustrated, the response analysis engine 425 can further identify atleast some additional response-relevant information associated with theuser or user profile associated with the interactions with theconversational interface. As illustrated, the response analysis engine425 can interact with a user profile analysis engine 427 to determinepersonalizations to be applied or additional contextual information thatcan be used in determining the appropriate response. The user profileanalysis engine 427 can include various sets of data or informationabout the user, as well as information on how to access remotely locatedinformation associated with the user.

The user profile analysis engine 427 can access or obtain social networkdata 450 associated with the user profile. The information can includespecific information about one or more entity, business, or celebrityaccounts with which the user follows, likes, or “hearts”, among otherindications, on one or more social networks. In some instances, theinformation can also include, or can be used to derive, relativelypositive or negative interactions or mentions associated with thoseaccounts outside of explicit indications of liking or following, such aspositive status updates or comments associated with those entities orpersons. Based on this information, the user profile analysis engine 427can identify one or more accounts associated with the user profile,which may be used or associated with at least one persona available in apersona library associated with the lexical personality filter module435. This information can be shared with the lexical personality filtermodule 435 and used to personalize the output for the user.

The user profile analysis engine 427 can also obtain or determinecontextual data 452 associated with the user, such as a current locationor other similar information. The contextual data 452 can be consideredin localizing or contextualizing the response content to the currentstatus of the user. The user profile analysis engine 427 can alsoconsider one or more defined or derived preferences 456 of the userprofile. The preferences 456 may be used to affect or impact theresponse substance determined by the response analysis engine 425, aswell as to determine or identify a particular persona to be applied to aresponse by the lexical personality filter module 435.

The user profile analysis engine 427 can identify a financial status 454associated with the user profile, where the financial status 454 can beused to affect the response to be provided back to the user. Forexample, if the conversational input 405 relates to a financialtransaction or a purchase, the financial status 454 can be used toupdate the response to be provided, such as by evaluating arecommendation or particular action to be taken. The result of theanalysis in light of the financial status 454 can be used to determinethe proper substance of the response.

Once the essence or substance of the response is determined, as well asany contextual data or user profile-related data, the response analysisengine 425 can provide that information to the NLG engine 428, where theNLG engine 428 is used to prepare the conversational response based onthe response essence or content identified by the response analysisengine 425 and the persona response type identified by the NLP engine408. As illustrated, the NLG engine 428 includes a syntax and semanticgeneration module 430 and the lexical personality filter module 435. Thesyntax and semantic generation module 430 can be used to generate aninitial response to be provided in response to the conversational input405. In some instances, a similar process to that described in FIGS.2A-B can be used to identify particular tokens associated with theresponse, where the syntax and semantic generation module 430 generatesthose tokens based on the substance of the response identified by theresponse analysis engine 425.

Once the initial response is determined, the lexical personality filtermodule 435 can be used to determine at least one persona-specificpersonalization to be made to the initial response tokens based on auser profile-specific persona to be applied. As noted, the socialnetwork data 450 acquired by the user profile analysis engine 427 can beused and compared to the persona library to identify one or more personaentities that correspond to the social network activity of the userprofile. In some instances, a persona response type as identified in thepersona matching table 440 may be associated with two or more personas.For example, a Motherly persona response type illustrated in table 440corresponds to “Oprah Winfrey.” Other implementations may includeadditional options for the Motherly persona response type, such as“Julia Roberts” and “Emma Thompson”. The user profile's associatedsocial network data 450 can be used to identify a best match of thosepersonas. That best match can be determined by a direct like orfollowing of one of the personas, a like or following of a business orproject associated with one of the personas, and/or a positive ornegative reactions or interaction associated with one of the personas.By using the social network data, the lexical personality filter module435 can identify a persona recognized and, hopefully, liked or trustedby the user profile.

Each particular persona, or personality library actor as listed in table440, can be associated with at least one persona-related content. Insome instances, that content can include a persona-specific phrasinglibrary identifying a particular word or phrase used by the persona. Insome instances, recorded audio of the persona can be available such thatthe voice of the persona can be used to enhance the response. In someinstances, images and/or video associated with the persona could also beused to enhance a presentation of the conversational response 445. Forexample, an image of or associated with the persona could be applied toa textual response. If the persona is associated with a particularpositive or negative recommendation phrase, that phrase can be used tosupplement or modify a particular response. In some instances, one ormore of the tokens or portion of the response generated by the syntaxand semantic generation module 430 can be replaced by thepersona-specific content, while in others, the response is supplementedwith the persona-specific content.

Once the appropriate persona-specific modification or supplement hasbeen added to the response, the conversational response 445 can bereturned to the user 401 (or the client device associated with the user401) by the NLG engine 428.

FIG. 5 is a flow chart of an example method 500 performed at a systemassociated with a conversational interface to transform a responsiveoutput into a persona-specific responsive output based on thecorresponding user profile. It will be understood that method 500 andrelated methods may be performed, for example, by any suitable system,environment, software, and hardware, or a combination of systems,environments, software, and hardware, as appropriate. For example, asystem comprising a communications module, at least one memory storinginstructions and other required data, and at least one hardwareprocessor interoperably coupled to the at least one memory and thecommunications module can be used to execute method 500. In someimplementations, the method 500 and related methods are executed by oneor more components of the system 100 described above with respect toFIG. 1, or the components described in FIG. 4.

At 505, a first signal including a conversational input associated withinteractions with a conversational interface are received via acommunications module. The conversational input can include or beassociated with an identification of a particular user profileassociated with the interaction. In some instances, the identifier maybe included in the conversational input or associated through metadataor another suitable manner. In some instances, the conversational inputmay be received at a specific endpoint associated with a particularconversational interface or related application, such that the analysisof the conversational input is based on the use of the particularconversational interface or related application. Examples may include adigital assistant or a particular website, where the conversationalinput is to be responded to based on the information obtainable by orrelated to that particular interface or application.

As previously noted, the conversational input may be or may includetext-based input, auditory input (e.g., an audio file), and/or video orimage input. The conversational input can be submitted by a user oragent associated with a particular user profile, although for purposesof some implementations of method 500, identification of the particularuser profile is not needed to perform the personalization process. Insome instances, the received conversational input can represent aparticular query, question, or interactive communication, where theconversational output represents a query response, an answer to thequestion, or a response to the interactive communication.

At 510, the received conversational input is analyzed via a naturallanguage processing engine or service to determine an intent associatedwith the input and a personality input type based on the input. In someinstances, determining the personality input type may includedetermining a set of lexical personality scores based on the content ofthe received input. The intent associated with the input can bedetermined based on any suitable factor, and can be used to determine ameaning of a particular request associated with the conversationalinput. The intent may be used to determine a particular response to begenerated. The lexical personality scores can be used to identifyvarious measures of the received conversational input, and can becompared to a table or existing set of measures that, when combined, areused to identify a particular personality input type. In some instances,two or more personality input types may be associated with a singleconversational input, such as “angry” and “scared.”

At 515, a persona response type can be identified, where the personaresponse type is associated with or determined based on the determinedpersonality input type. In some instances, particular personality inputtypes can be mapped to one or more different persona response types,such that once the personality input type is identified the mapping canbe considered to determine the corresponding persona response type. Insome instances, two or more persona types may be associated with theparticular personality input type. In some instances, the persona typemay be changed based on a response to be returned. For instance, if theconversational interface is associated with a financial analysis system,and the conversational input's intent is to ask whether a particulartransaction should be completed, the response may be a recommendationagainst the transaction. In such an instance, the persona response typemay be associated with a relatively stricter or more serious personacapable of providing additional emphasis to the user that thetransaction should not be completed. In the previous example, forinstance, the Motherly persona response type can be modified to Strongbased on the response content.

At 520, a set of response content responsive to the determined intent ofthe received conversational input can be determined. As noted, theoperations of 520 may be performed before those of 515 in someinstances. Alternatively, after the operations of 520, a determinationmay be made to determine whether to adjust the identified personaresponse type.

At 525, a particular persona associated with the particular user profilecan be identified from a plurality of potential personas based, at leastin part, on the social network activity information associated with theparticular user profile. The particular persona identified cancorrespond to, match, or be associated with the identified personaresponse type (of 515). In some instances, that particular persona maybe an exact match to the identified persona response type, while inothers, the particular persona may be similar to, but not identical to,the identified persona response type. As noted, the particular personamay be identified based on one or more social network preferences,likes, or other indications as they are related to the entity or personassociated with the particular persona. Each of the personas from theplurality of potential personas can be associated with a set ofpersona-related content. The content may include persona-specific wordsor phrases, such as a catch phrase or other words commonly associatedwith the persona. In some instances, those words or phrases may besynonyms of particular words, phrases, or tokens included in theresponse content, and can replace one or more tokens from the responsecontent. In other instances, the persona-specific words or phrases canbe used to supplement and/or otherwise add to the response content, suchas by using those words as an emphasis to the underlying response. Insome instances, the persona-related content may include one or moreembellishments or non-response content, such as an image or video of theperson associated with the person. In some instances, thepersona-related content may include a set of voice prompts or contentthat allows at least a portion of the conversational response to bepresented in the voice of the particular persona.

At 530, the set of response content is modified, or enhanced, using atleast a portion of the persona-related content associated with theparticular persona. The result of the modification or enhancement is apersona-associated or persona-specific response. As noted, themodification may be a replacement of at least a portion of the responsecontent with persona-related content, or the modification may be asupplement to the response content with additional persona-relatedcontent without removing the initially determined response content.

At 535, a second signal including the persona-associated version of theset of response content is transmitted, via the communications module,to the conversational interface associated with the received firstsignal. In some instances, that interface is associated with a deviceassociated with the particular user profile.

The preceding figures and accompanying description illustrate exampleprocesses and computer-implementable techniques. But system 100 (or itssoftware or other components) contemplates using, implementing, orexecuting any suitable technique for performing these and other tasks.It will be understood that these processes are for illustration purposesonly and that the described or similar techniques may be performed atany appropriate time, including concurrently, individually, or incombination. In addition, many of the operations in these processes maytake place simultaneously, concurrently, and/or in different orders thanas shown. Moreover, the described systems and flows may use processesand/or components with or performing additional operations, feweroperations, and/or different operations, so long as the methods andsystems remain appropriate.

In other words, although this disclosure has been described in terms ofcertain embodiments and generally associated methods, alterations andpermutations of these embodiments and methods will be apparent to thoseskilled in the art. Accordingly, the above description of exampleembodiments does not define or constrain this disclosure. Other changes,substitutions, and alterations are also possible without departing fromthe spirit and scope of this disclosure.

What is claimed is:
 1. A system comprising: a communications module; atleast one memory storing instructions, a plurality of user profiles, anda repository of persona-related contextual content associated with aplurality of personas, the persona-related contextual content for use inpersonalizing at least one response generated in response to aconversational contextual input; and at least one hardware processorinteroperably coupled with the at least one memory and thecommunications module, wherein the instructions instruct the at leastone hardware processor to: receive, via the communications module, afirst signal including a conversational input received via interactionswith a conversational interface, the conversational input associatedwith a particular user profile, wherein the particular user profile isassociated with a set of social network activity information; analyzethe received conversational input via a natural language processingengine to determine an intent of the received conversational input andto determine a personality input type of the received conversationalinput; identify a persona response type associated with the determinedpersonality input type; determine a set of response content responsiveto the determined intent of the received conversational input; identifya particular persona associated with the particular user profile basedon the set of social network activity information, the identifiedparticular persona corresponding to the identified persona responsetype, where the particular persona is associated with a set ofpersona-related content; modify the set of response content using atleast a portion of the persona-related content to generate apersona-associated response; and transmit, via the communicationsmodule, a second signal including the persona-associated response to adevice associated with the particular user profile for presentation inresponse to the received conversational input.
 2. The system of claim 1,wherein the determined personality input type is one of a plurality ofpredefined personality input types, wherein each predefined personalityinput type is mapped to a persona response type.
 3. The system of claim1, wherein identifying a particular persona associated with theparticular user profile is further based on at least one of a currentcontext of the particular user profile, a financial history of theparticular user profile, and a financial analysis associated with theparticular user profile.
 4. The system of claim 1, wherein thedetermined intent associated with the received conversational input isassociated with a question, and wherein determining the set of responsecontent responsive to the determined intent of the receivedconversational input comprises determining a responsive answer to thequestion.
 5. The system of claim 4, wherein the responsive answer to thequestion is associated with a preferred action to be performed by theuser associated with the particular user profile, and whereinidentifying the particular persona associated with the particular userprofile based on the associated set of social network activity includesidentifying the particular persona based on the preferred action to beperformed by the user.
 6. The system of claim 1, wherein the set ofsocial network activity information is stored remotely from theparticular user profile, wherein the particular user profile isassociated with at least one social network account, and wherein the setof social network activity is accessed in response to the conversationalinput and prior to identifying the particular persona associated withthe particular user profile.
 7. The system of claim 1, wherein the setof social network activity information identifies at least one socialnetwork account followed by, liked, or subscribed to by the particularuser profile, and wherein identifying the particular persona associatedwith the particular user profile comprises identifying a particularpersona from the plurality of personas corresponding to the at least onesocial network account followed by, liked, or subscribed to by theparticular user profile.
 8. The system of claim 1, wherein the set ofsocial network activity information identifies at least one socialnetwork account with which the particular user profile has previouslyhad a positive interaction, and wherein identifying the particularpersona associated with the particular user profile comprisesidentifying a particular persona from the plurality of personascorresponding to the at least one social network account with which theparticular user profile has had the positive interaction.
 9. The systemof claim 1, wherein, for each of the personas, the persona-relatedcontextual content includes a set of common phrases or words associatedwith the particular persona, and wherein modifying the set of responsecontent using at least a portion of the persona-related contextualcontent to generate a persona-associated response for the particularuser comprises incorporating at least one common phrase or wordassociated with the identified particular persona into the set ofresponse content.
 10. The system of claim 9, wherein incorporating theat least one common phrase or word associated with the identifiedparticular persona into the set of response content comprises replacingat a portion of the set of response content with at least one commonphrase or word associated with the identified particular persona. 11.The system of claim 1, wherein, for at least some of the personas, thepersona-related contextual content includes a voice associated with thepersona, and wherein modifying the set of response content using atleast a portion of the persona-related contextual content to generate apersona-associated response for the particular user comprises generatingan audio file for use in presenting the set of response content spokenin the voice associated with the identified particular persona.
 12. Anon-transitory, computer-readable medium storing computer-readableinstructions executable by a computer and configured to: receive, via acommunications module, a first signal including a conversational inputreceived via interactions with a conversational interface, theconversational input associated with a particular user profile, whereinthe particular user profile is associated with a set of social networkactivity information; analyze the received conversational input via anatural language processing engine to determine an intent of thereceived conversational input and to determine a personality input typeof the received conversational input; identify a persona response typeassociated with the determined personality input type; determine a setof response content responsive to the determined intent of the receivedconversational input; identify a particular persona from a plurality ofpersonas associated with the particular user profile based on the set ofsocial network activity information, the identified particular personacorresponding to the identified persona response type, where each of theplurality of personas are associated with persona-related contextualcontent for use in personalizing at least one response generated inresponse to a conversational contextual input, and wherein theparticular persona is associated with a set of persona-related content;modify the set of response content using at least a portion of thepersona-related content associated with the identified particularpersona to generate a persona-associated response; and transmit, via thecommunications module, a second signal including the persona-associatedresponse to a device associated with the particular user profile forpresentation in response to the received conversational input.
 13. Thecomputer-readable medium of claim 12, wherein the determined personalityinput type is one of a plurality of predefined personality input types,wherein each predefined personality input type is mapped to a personaresponse type.
 14. The computer-readable medium of claim 12, whereinidentifying a particular persona associated with the particular userprofile is further based on at least one of a current context of theparticular user profile, a financial history of the particular userprofile, and a financial analysis associated with the particular userprofile.
 15. The computer-readable medium of claim 12, wherein thedetermined intent associated with the received conversational input isassociated with a question, and wherein determining the set of responsecontent responsive to the determined intent of the receivedconversational input comprises determining a responsive answer to thequestion, wherein the responsive answer to the question is associatedwith a preferred action to be performed by the user associated with theparticular user profile, and wherein identifying the particular personaassociated with the particular user profile based on the associated setof social network activity includes identifying the particular personabased on the preferred action to be performed by the user.
 16. Thecomputer-readable medium of claim 12, wherein the set of social networkactivity information is stored remotely from the particular userprofile, wherein the particular user profile is associated with at leastone social network account, and wherein the set of social networkactivity is accessed in response to the conversational input and priorto identifying the particular persona associated with the particularuser profile.
 17. The computer-readable medium of claim 12, wherein theset of social network activity information identifies at least onesocial network account followed by, liked, or subscribed to by theparticular user profile, and wherein identifying the particular personaassociated with the particular user profile comprises identifying aparticular persona from the plurality of personas corresponding to theat least one social network account followed by, liked, or subscribed toby the particular user profile.
 18. The computer-readable medium ofclaim 12, wherein, for each of the personas, the persona-relatedcontextual content includes a set of common phrases or words associatedwith the particular persona, and wherein modifying the set of responsecontent using at least a portion of the persona-related contextualcontent to generate a persona-associated response for the particularuser comprises incorporating at least one common phrase or wordassociated with the identified particular persona into the set ofresponse content.
 19. The computer-readable medium of claim 18, whereinincorporating the at least one common phrase or word associated with theidentified particular persona into the set of response content comprisesreplacing at a portion of the set of response content with at least onecommon phrase or word associated with the identified particular persona.20. A computerized method performed by one or more processors, themethod comprising: receiving, via a communications module, a firstsignal including a conversational input received via interactions with aconversational interface, the conversational input associated with aparticular user profile, wherein the particular user profile isassociated with a set of social network activity information; analyzingthe received conversational input via a natural language processingengine to determine an intent of the received conversational input andto determine a personality input type of the received conversationalinput; identifying a persona response type associated with thedetermined personality input type; determining a set of response contentresponsive to the determined intent of the received conversationalinput; identifying a particular persona from a plurality of personasassociated with the particular user profile based on the set of socialnetwork activity information, the identified particular personacorresponding to the identified persona response type, where each of theplurality of personas are associated with persona-related contextualcontent for use in personalizing at least one response generated inresponse to a conversational contextual input, and wherein theparticular persona is associated with a set of persona-related content;modifying the set of response content using at least a portion of thepersona-related content associated with the identified particularpersona to generate a persona-associated response; and transmitting, viathe communications module, a second signal including thepersona-associated response to a device associated with the particularuser profile for presentation in response to the received conversationalinput.